home *** CD-ROM | disk | FTP | other *** search
- /*
- * $XConsortium: Xos.h,v 1.47 91/08/17 17:14:38 rws Exp $
- *
- * Copyright 1987 by the Massachusetts Institute of Technology
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted, provided
- * that the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission. M.I.T. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * The X Window System is a Trademark of MIT.
- *
- */
-
- /* This is a collection of things to try and minimize system dependencies
- * in a "signficant" number of source files.
- */
-
- #ifndef _XOS_H_
- #define _XOS_H_
-
- #include <X11/Xosdefs.h>
-
- /*
- * Get major data types (esp. caddr_t)
- */
-
- #ifdef USG
- #ifndef __TYPES__
- #ifdef CRAY
- #define word word_t
- #endif /* CRAY */
- #include <sys/types.h> /* forgot to protect it... */
- #define __TYPES__
- #endif /* __TYPES__ */
- #else /* USG */
- #if defined(_POSIX_SOURCE) && defined(MOTOROLA)
- #undef _POSIX_SOURCE
- #include <sys/types.h>
- #define _POSIX_SOURCE
- #else
- #include <sys/types.h>
- #endif
- #endif /* USG */
-
-
- /*
- * Just about everyone needs the strings routines. We provide both forms here,
- * index/rindex and strchr/strrchr, so any systems that don't provide them all
- * need to have #defines here.
- */
-
- #ifndef X_NOT_STDC_ENV
- #include <string.h>
- #define index strchr
- #define rindex strrchr
- #else
- #ifdef SYSV
- #include <string.h>
- #define index strchr
- #define rindex strrchr
- #else
- #include <strings.h>
- #define strchr index
- #define strrchr rindex
- #endif
- #endif
-
-
- /*
- * Get open(2) constants
- */
- #ifdef X_NOT_POSIX
- #include <fcntl.h>
- #ifdef USL
- #include <unistd.h>
- #endif /* USL */
- #ifdef CRAY
- #include <unistd.h>
- #endif /* CRAY */
- #ifdef MOTOROLA
- #include <unistd.h>
- #endif /* MOTOROLA */
- #ifdef SYSV386
- #include <unistd.h>
- #endif /* SYSV386 */
- #include <sys/file.h>
- #else /* X_NOT_POSIX */
- #if !defined(_POSIX_SOURCE) && defined(macII)
- #define _POSIX_SOURCE
- #include <fcntl.h>
- #undef _POSIX_SOURCE
- #else
- #include <fcntl.h>
- #endif
- #include <unistd.h>
- #endif /* X_NOT_POSIX else */
-
- /*
- * Get struct timeval
- */
-
- #ifdef SYSV
-
- #ifndef USL
- #include <sys/time.h>
- #endif
- #include <time.h>
- #ifdef CRAY
- #undef word
- #endif /* CRAY */
- #if defined(USG) && !defined(CRAY) && !defined(MOTOROLA)
- struct timeval {
- long tv_sec;
- long tv_usec;
- };
- #ifndef USL_SHARELIB
- struct timezone {
- int tz_minuteswest;
- int tz_dsttime;
- };
- #endif /* USL_SHARELIB */
- #endif /* USG */
-
- #else /* not SYSV */
-
- #if defined(_POSIX_SOURCE) && defined(SVR4)
- /* need to omit _POSIX_SOURCE in order to get what we want in SVR4 */
- #undef _POSIX_SOURCE
- #include <sys/time.h>
- #define _POSIX_SOURCE
- #else
- #include <sys/time.h>
- #endif
-
- #endif /* SYSV */
-
- /* use POSIX name for signal */
- #if defined(X_NOT_POSIX) && defined(SYSV) && !defined(SIGCHLD)
- #define SIGCHLD SIGCLD
- #endif
-
- #ifdef ISC
- #include <sys/bsdtypes.h>
- #endif
-
- #endif /* _XOS_H_ */
-